The illustrative embodiment of the present invention relates generally to the use of instrument drivers and more particularly to the transparent installation and use and sharing of instrument drivers from within an application development environment.
Instrument control applications require instrument drivers so that they may be easily utilized by end users. An instrument driver differs from a regular OS driver in that an instrument driver does not extend the capabilities of an application development environment (ADE) in the way OS drivers typically extend an operating system's ability to communicate with new devices. Instrument drivers generally provide a layer of convenience functions that simplify communication with a specific instrument model using an existing communication and hardware interface layer that is already supported by operating system drivers. Current application development environments, such as MATLAB®, SIMULINK® (both from The MathWorks, Inc. of Natick, Mass.), test and measurement and other ADEs, ship instrument drivers on a CD with the ADE. Alternatively, the instrument drivers may be made available to the end user for download via a website.
Unfortunately, both the technique of pre-shipping the instrument driver on CD with the ADE and the technique of providing the instrument drivers via a web site, fail to leverage the benefits of integrated instrument driver access from within the application development environment. Current techniques of retrieving remotely located instrument drivers require a web interface to browse and download drivers. Additionally, current techniques do not allow the user to verify current instrument drivers in the ADE while determining what other instrument drivers are available. The instrument drivers cannot be used directly from the web interface but rather must be downloaded and installed before use in the application development environment.
Another problem with current techniques of using instrument drivers in an application development environment is that while the user may be notified of instrument driver changes in an instrument driver repository by email or similar manner, conventional methods do not inform the user that an instrument driver in the ADE is out of date. Further, the conventional methods of updating an instrument driver do not allow a user to submit updated drivers from the ADE to a centralized repository. Rather, the user is forced to utilize a web interface and add a lot of information manually that may already be present in the driver. Further, while companies provide web interfaces for their own repositories of instrument drivers, the companies do not provide a mechanism for a customer working with their own repository of drivers that they want to make available internally.